Stream computing, that is, real-time stream processing, refers to processing to-be-processed data in a form of a data stream. A data stream is an aggregate of a series of data records that are limitless in terms of time distribution and quantity. A data tuple is a smallest composition unit of the data stream. A most important characteristic of the stream computing is that a real-time response to a computing result can be implemented. Value of data decreases with elapse of time; therefore, data needs to be processed as soon as possible after the data appears. It is preferred that data is processed immediately when the data appears. A meaning of the stream computing is processing data each time a piece of data appears, rather than processing data in batches after the data is cached.
FIG. 1 may be used to represent a stream computing model graph, which is referred to as streaming graph for short. As shown in FIG. 1, operators op1 to op7 in the figure represent operators, and sides s1 to s7 in the figure represent data streams. An operator is a data processing unit that carries service logic, and is a smallest unit that is executed for distributed scheduling of a stream computing platform. A data stream is data exchanged between operators.
A user compiles a streaming graph, and submits the compiled streaming graph to the stream computing platform. The stream computing platform parses the streaming graph, and schedules the streaming graph to different physical machines for distributed execution, so as to implement different service scenarios. Currently, a mainstream stream computing platform in the industry is international business machine (IBM)™ InfoSphere Streams™. In an integrated development environment of InfoSphere Streams™, by means of drag and drop editing, the user connects operators and data stream sides by using lines to form a streaming graph, and then submits the streaming graph for deployment. Quality of streaming graph compilation directly affects execution performance of a deployed application. Users who develop applications based on the stream computing platform are mostly marketers, or engineers who lack stream application development experience. Consequently, a developed streaming graph has imbalanced computing logic and redundant flow transmission, system resources cannot be fully used, and stream application execution performance is poor.